package abcrecipe.sysabc;


import abcrecipe.sysabc.R.id;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.NumberPicker;
import android.widget.NumberPicker.OnValueChangeListener;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;

	public class Menu_Detail extends ABCrecipeActivity {
		// リストビューに表示するデータ

		int menuNum = -1;	// メニューの種類-1で不正
		// TEST:とりあえずテストデータ。メニューファイルから読んだメニュー名を表示する
		String[] words = new String[] { 
	        "鶏肉とモヤシのオイスター炒め",
	        "チキンのピカタ",
	        "かつおのユッケ風ごはん", 
	        "タラのムニエル～タルタルソース添え",
	        "コーン入りチキンナゲット",
	        "甘みそソースチキンカツ",
	        "ブルーベリーチーズケーキ",
	        "豆乳抹茶ゼリー",
	        "ゴールドキウイラッシー",
	        "トマトとオレンジのデザートスープ", 
	    };
		
	    // リストビューにアイコンのリソースID
		int[] c_icon = new int[] { 
	        R.drawable.ic_menu01,
	        R.drawable.ic_menu02,
	        R.drawable.ic_menu03,
	        R.drawable.ic_menu04,
	        R.drawable.ic_menu05,
	        R.drawable.ic_menu06,
	        R.drawable.ic_menu07,
	        R.drawable.ic_menu08,
	        R.drawable.ic_menu09,
	        R.drawable.ic_menu10,
	    }; 

		int[] price  = new int[] { 
			1000,
			780,
			500,
			1000,
			500,
			500,
			380,
			380,
			480,
			280,
	    }; 
		String[] category = new String[] { 
		        "麺類",
		        "麺類",
		        "単品",
		        "単品",
		        "定食",
		        "定食",
		        "デザート",
		        "デザート",
		        "飲み物",
		        "飲み物",
		    };
			
		String[] calorie = new String[] { 
		        "479Kcal",
		        "310Kcal",
		        "1002Kcal",
		        "1001Kcal",
		        "606Kcal",
		        "603Kcal",
		        "951Kcal",
		        "121Kcal",
		        "180Kcal",
		        "64Kcal",
		    };

		String readString ="";
	 		@Override
		/** Called when the activity is first created. */
		public void onCreate(Bundle savedInstanceState) {
			super.onCreate(savedInstanceState);
			setContentView(R.layout.menu_detail);
			Intent myIntent = getIntent();

	        /**前画面に戻る*/
	        Button backBtn = (Button)findViewById(R.id.buttonMenuDetailToRecent);
	        backBtn.setOnClickListener(this);

	        /**発注詳細*/
	        Button orderinfoBtn = (Button)findViewById(R.id.buttonMenuDetailToOrderDetail);
	        orderinfoBtn.setOnClickListener(this);
			
            TextView textView = (TextView) findViewById(id.TextViewMenuDetailRecipeName);
            // テキストビューのテキストを設定します
            String menuTitle = words[0];	// オススメの場合（仮）
            int menuicon = R.drawable.pie;	// オススメの場合（仮）
			if(null != myIntent)
			{
				menuNum = myIntent.getIntExtra("MenuNum", -1);
				if(-1 != menuNum)
				{
			        // Write
					// テスト用。ファイルにメニュータイトル名を入れておきます
			        {
			            try {
			                FileOutputStream fileOutputStream = openFileOutput("myfile.txt", MODE_PRIVATE);
			                String writeString = words[menuNum];
			                menuicon = c_icon[menuNum];

			                fileOutputStream.write(writeString.getBytes());
			            } catch (FileNotFoundException e) {
			            } catch (IOException e) {
			            }
			        }

			            // Read
			        {
			            try {
			                FileInputStream fileInputStream;
			                fileInputStream = openFileInput("myfile.txt");
			                byte[] readBytes = new byte[fileInputStream.available()];
			                fileInputStream.read(readBytes);
			                readString = new String(readBytes);
			            } catch (FileNotFoundException e) {
			            } catch (IOException e) {
			            }
			        }
		    		// ↓で メニューファイルから読んだメニュー名を表示する
		            menuTitle = readString;
				}
				
			}
	
            // テキストビューのテキストを設定します
            textView.setText(menuTitle);
			// アイコンをImageViewにセットする
    		ImageView app_icon = (ImageView) 
				findViewById(R.id.imageViewMenuDetail);
    		app_icon.setImageResource( menuicon );
    		// 値段のテキストを設定します
            TextView pricetextView = (TextView) findViewById(id.TextViewMenuDetailValuePrice);
            pricetextView.setText(String.valueOf(price[menuNum]));
    		// カテゴリ・カロリーのテキストを設定します
            TextView categorytextView = (TextView) findViewById(id.TextViewMenuDetailValueCategory);
            categorytextView.setText(category[menuNum]);
            TextView calorietextView = (TextView) findViewById(id.TextViewMenuDetailValueCarorie);
            calorietextView.setText(calorie[menuNum]);
            /** */
	        Button orderBtn = (Button)findViewById(R.id.buttonMenuDetailToOrder);
	        orderBtn.setOnClickListener(new View.OnClickListener() {
	        	public void onClick(View order) {
	        		// TODO Auto-generated method stub
	        		// インテントのインスタンス生成
	        		Intent intent1 = new Intent(Menu_Detail.this, Result.class);
	        		// 次画面のアクティビティ起動
	        		startActivity(intent1);
	        	}
	        });
	
	        /** */
	        Button buyBtn = (Button)findViewById(R.id.buttonMenuDetailToOrderDetail);
	        buyBtn.setOnClickListener(new View.OnClickListener() {
	        	public void onClick(View buy) {
	        		// TODO Auto-generated method stub
	        		// インテントのインスタンス生成
	        		Intent intent2 = new Intent(Menu_Detail.this, Result.class);
	        		// 次画面のアクティビティ起動
	        		startActivity(intent2);
	        	}
	        });
	        
	        
	        //個数入力フォーム
	        NumberPicker nbPic = (NumberPicker)findViewById(R.id.menuNum_Picker);
	        //最大値設定
	        nbPic.setMaxValue(100);
	        //最小値設定
	        nbPic.setMinValue(0);
	        //値が更新された時に発生するイベント
	        //このイベントは手入力した際には発生しない
	        nbPic.setOnValueChangedListener(new OnValueChangeListener() {
				public void onValueChange(NumberPicker picker, int oldVal, int newVal) {
					updateText(newVal);
				}
			});
	    }

	    //NumberPickerが変化するたびに動作する
	    private void updateText(int value){
	    	TextView tv = (TextView)findViewById(R.id.menuNumPriceSum_TextView);
	    	value = price[menuNum] * value;
	    	tv.setText(String.valueOf(value));
	    }
	
	    //全てのクリック処理を一括して管理する
	    public void onClick(View v){
	    	switch(v.getId()){

	    	case R.id.buttonMenuDetailToRecent:
	    		//今の画面を終了して前の画面に戻る
	    		finish();
	    		break;

	    	case R.id.buttonMenuDetailToOrderDetail:
	    		// インテントのインスタンス生成
	    		Intent intent5 = new Intent(Menu_Detail.this, Result.class);
	    		// 次画面のアクティビティ起動
	    		startActivity(intent5);
	    		break;


	    	default:
	    		break;
	    	}

	    }
	}
